//
//  NSZip.h
//  NewiOSProject
//
//  Created by apple on 2023/9/29.
//  Copyright © 2023 范智渊. All rights reserved.
//

#import <Foundation/Foundation.h>
#import <zlib.h>

NS_ASSUME_NONNULL_BEGIN

//此类主要为内存压缩，非文件目录解压缩。可进行稍微改造实现指定目录文件gzip解压缩，此处不实现。
@interface NSZip : NSObject
+ (id)zip;
 
//将指定的data进行gzip压缩。若需要进行Zip或者其他类型的压缩请调整deflateInit2函数第4个参数值。
- (NSData *)zip:(NSData *)data error:(NSError **)err;
 
//将指定的数据进行gzip解压缩。
- (NSData *)unZip:(Bytef *)bytes length:(NSUInteger)length error:(NSError **)err;
+ (NSData *)unZip:(NSData*)data error:(NSError **)err;
 
//指定sourcePath目录的gzip压缩包解压到destinationPath指定的目录中。用于文件解压缩。
+ (BOOL)unZip:(NSString *)sourcePath toFile:(NSString *)destinationPath error:(NSError **)err;
@end
 

NS_ASSUME_NONNULL_END
